package com.example.exception;

import org.junit.Test;

/**
 * 说明:
 * 1. finally是可选的。
 * 2. 使用try将可能出现异常代码包装起来，在执行过程中，一旦出现异常，就会生成一个对应
 * 异常类的对象，根据此对象的类型，去catch进行匹配
 * 3. 一但try中的异常对象匹配到某一个catch时，就进入catch中进行异常的处理。一但处理完成，
 * 就跳出当前的try-catch结构(在没有写finally情况)。继续执行其后的代码
 *
 */
public class ExceptionTest2 {
    @Test
    public void test() {
        String str = "123";
        str = "abc";
        try {
            int num = Integer.parseInt(str);
            System.out.println("hello.txt----1");
        } catch (NullPointerException e) {
            System.out.println("出现空指针异常了，不要着急....");
        } catch (NumberFormatException e) {
            System.out.println("出现数值转换异常了，不要着急....");
        } catch (Exception e) {
            System.out.println("出现异常了，不要着急....");
        }
        System.out.println("hello.txt----2");
    }
}
